package view;

import java.util.List;
import model.ItemKenmerken;

public class DefaultStijlSelectieStrategy implements StijlSelectieStrategy {

	@Override
	public Stijl geefRelevanteStijl(List<Stijl> stijlen, ItemKenmerken kenmerken) {
		Stijl meestRelevanteStijl = null;
		
		for (Stijl stijl : stijlen)
		{
			if (stijl.kenmerken.getNiveau() == kenmerken.getNiveau())
			{
				meestRelevanteStijl = stijl;
				break;
			}
			if (kenmerken.getNiveau().getValue() > stijl.kenmerken.getNiveau().getValue())
			{
				// dit is mogelijk een relevante stijl
				if (meestRelevanteStijl == null)
				{
					meestRelevanteStijl = stijl;
				}
				else if (kenmerken.getNiveau().getValue() - stijl.kenmerken.getNiveau().getValue() <
						 kenmerken.getNiveau().getValue() - meestRelevanteStijl.kenmerken.getNiveau().getValue())
				{
					meestRelevanteStijl = stijl;
				}
			}
		}
		return meestRelevanteStijl;
	}

}
